//引入模块 nodemailer
const nodemailer = require('nodemailer');
// 导入redis数据库
const redisHelper = require('../libs/redis');
 
// 创建一个SMTP客户端配置
const config = {
 service: "QQ",
 auth: {
  // 发件人邮箱账号
  user: '1401478439@qq.com',
  //发件人邮箱的授权码 这里可以通过qq邮箱获取 并且不唯一
  pass: 'zkylwlhuswzrjfee' //授权码生成之后，要等一会才能使用，否则验证的时候会报错，但是不要慌张哦
 }
}


//创建一个SMTP客户端配置对象
const transporter = nodemailer.createTransport(config)

exports.emailSignup = function(email){
    //创建一个收件人对象
    // 验证码随机书
    const code = Math.random().toString().substr(2, 4)
    const mail = {
        // 发件人 邮箱 '昵称<发件人邮箱>'
        from: '1401478439@qq.com',
        // 主题
        subject: '激活验证码',
        // 收件人 的邮箱 可以是其他邮箱 不一定是qq邮箱
        to: email,
        //这里可以添加html标签
        html: `<b>您的激活验证码为：${code}, 5分钟内有效，请谨慎保管。</b>`
    }
    // 存储Redis缓存
        redisHelper.setString(email,code,60 * 5).then((res)=>{
            console.log('设置成功')
        }).catch((err=>{
            console.log('设置失败',err)
        }));
   // 发送邮件 调用transporter.sendMail(mail, callback)
return transporter.sendMail(mail, function(error, info) {
    if (error) {
     return error;
    }
    transporter.close()
    return info.response
   })
}
